/*
 *  damage.h
 *  EPPI-0.0
 *
 *  Created by Cesar polindara on 9/7/13.
 *
 */
 
#ifndef _damage_h_
#define _damage_h_

#include <iostream>
#include <sstream>
#include "MATERIALS/material.h"

using namespace std;

class Damage : public Material // 'cause is derived from class Material
{
public:
	Material *matHyper;

	Tensor2Sym STens;
	Tensor4LSym CtTens;
//	Tensor4DSym;

	// In here i define the attributes of the class AKA variables
public:
        Damage();
        Damage(ifstream &, const string &, const string &,  Material*);
        ~Damage(){}
	
        /** Virtual functions from base - Derived from class Material >>> Material.h */
	
        void calcW(const VectorXd &, const double &);
        
        void calcS( const VectorXd &, const double & );	        // Computes the thermoelastic Second Piola-Kirchoff Stress Tensor in terms of C and T
        
        void calcCt( const VectorXd &, const double & );
        
        /**Local Function >>> Declared in damage.h and defined in damage.cpp */
        
};

#endif	
	
